The present invention relates generally to transfer of data from a server to a client via the internet or other communication medium and deals more particularly with a technique to determine the rate at which data can be transferred across the communication medium.
There are many communication mediums available today which interconnect clients to servers and many data formats for the communications. One example is the world wide web (WWW) with its web page data format. The WWW comprises a multitude of computer servers and an "internet" of communications lines and intermediary routers to connect the clients to the servers. The servers manage databases which contain the web pages. Each of the clients includes a "web browser" which is an interface to the user and the WWW. One common web browser is the Netscape Navigator (.TM.) web browser licensed by Netscape Communications Corporation. The Netscape Navigator web browser is further described in "Hands on Netscape" by David Sachs, Prentice Hall, Upper Saddle River, N.J., 1996 ISBN013240284X.
Each web page has a "URL" address which comprises an access method/protocol designation such as hypertext transport protocol (HTTP) as a prefix, a server name, and the requested data as a suffix. The server name typically includes a "domain name" which is the name of a company, educational institution or other organization that owns the server. The request indicates a web page associated with the server. There are different ways that a client can obtain a web page. If the client knows the URL, the client can directly request the web page from the server. However, if the client only knows the server name, the client can address the server name and in response, the server will present the "home page" for the server. The home page (and other web pages) typically includes tags or "hot links" which reference other associated web pages. When the user selects a hot link, the web browser requests the respective web page from the corresponding server. In response to the request, the server returns an HTML page which typically includes text and may reference graphics, applets, audio files and video files. The client can then obtain the referenced graphics, applets, audio files and video files from the server(s) which manages them.
The rate at which a server can transfer a web page to a client is limited by several factors--the client's modem or other communication hardware, availability of the target server and any intermediary routers, and availability and throughput of the communication lines. In recent years there has been a large increase in the number of servers, web pages and "network traffic" on the WWW. While this has increased the amount of available information, this has slowed access to the web pages by congesting the servers, routers and communication lines.
While the text usually constitutes a small amount of data and can be transferred rapidly with even a modest transfer rate, the graphics, applets, audio files and video files may be lengthy and time consuming to transfer with a modest transfer rate. Existing web browsers permit the user to select a "no graphics" option. When selected, the web browser will not request (or display) any graphics referenced in an HTML that has been downloaded. This greatly reduces the download time for those web pages which reference complex graphics. However, the graphics may provide important information and hot links, and the data transfer rate may have been fast enough to provide the graphics to the client within a reasonable amount of time.
An IBM Web Browser Intelligence tool gives the user valuable information as to availability of web pages and the download time. The IBM Web Browser Intelligence tool automatically "pings" each server referenced by a hot link on a web page when the web page is initially loaded and displayed. If the server is in existence and is available to process the ping request, the server responds with a simple acknowledgment of its existence. The IBM Web Browser Intelligence tool also estimates the time required to fetch web pages managed by this server by measuring the time between the sending of the ping request and receipt of an acknowledgment from the server. (The actual fetch time will also depend on the length of data, graphics, applets, audio files and video files of the web page and the performance and availability of the server and web page storage medium for an actual data transfer). The IBM Web Browser Intelligence tool then indicates to the user which servers currently exist and the approximate fetch rate as follows. Red dots adjacent to a hot link indicate that the server is not currently available or very slow to respond. Yellow dots adjacent to a hot link indicate that the respective server is currently available but the fetch rate is slow. Green dots adjacent to a hot link indicate that the respective server is currently available and the fetch rate is fast. The IBM Web Browser Intelligence tool re-pings each server associated with each hot link at a user specified interval to update the availability status of every hot link. Despite the significant value of the IBM Web Browser Intelligence tool, improvements would be helpful to better estimate the download time.
It was also known for a server to ask a client user what is its "connectivity rate". The user will respond either with its modem rate or an estimate based on knowledge of the communications hardware. The client modem rate is a maximum transfer rate to the client; the server, routers or communication lines may be slower. The actual transfer rate can also change with time as the usage of the communication line, server and routers changes.
A general object of the present invention is to attempt to provide a client, who has requested data, with at least a meaningful subset of that data in a usable form within a reasonable amount of time.